#include<stdio.h>
#include<stdlib.h>
void print(int *a,int n){
    int i;
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    printf("\n");
}
int inc(const void *a, const void *b){
    int *pa=(int*)a;
    int *pb=(int*)b;

    return *pa-*pb;
}
int dec(const void *a, const void *b){
    int *pa=(int*)a;
    int *pb=(int*)b;

    return *pb-*pa;
}
int hash(int n){
    if(n<10)
        return n;
    return n%10+hash(n/10);
}
int usr(const void *a, const void *b){
    int *pa=(int*)a;
    int *pb=(int*)b;

    int flag=hash(*pa)-hash(*pb);
    if(flag)
        return flag;
    return *pa-*pb;
}
int main(){
    printf("%d\n",4==hash(13));//expected value actual value
    int a[]={1,3,5,7,9,8,2,6,4,0,11,13};
    int n=sizeof(a)/sizeof(a[0]);
    print(a,n);
    qsort(a,n,sizeof(a[0]),usr);
    print(a,n);
    return 0;
}
